home *** CD-ROM | disk | FTP | other *** search
- ************************************************************
- *
- * FOURTH-ORDER IIR
- * ELLIPTIC LOWPASS FILTER
- *
- * CASCADE STRUCTURE WITH
- * SECOND-ORDER DIRECT-FORM II SUBSECTIONS
- *
- * FILTER CHARACTERISTICS
- *
- * SAMPLING FREQUENCY = 10 KHZ
- *
- * BAND 1 BAND 2
- *
- * LOWER BAND EDGE 0.00000 2.75000
- * UPPER BAND EDGE 2.50000 5.00000
- * NOMINAL GAIN 1.00000 0.00000
- * NOMINAL RIPPLE 0.06000 0.06000
- * MAXIMUM RIPPLE 0.05617 0.05514
- * RIPPLE IN DB 0.47469 -25.17089
- *
- *
- * FILTER STRUCTURE
- *
- *
- * b y (n) b
- * 01 1 02
- * o--->--o--->---o--->---o--->---o--->---o--->---o--->---o
- * x(n) | | -1 | | | -1 | y(n)
- * ^ a v z b ^ ^ a v z b ^
- * | 11 | 11| | 12 | 12|
- * o---<---o--->---o o---<---o--->---o
- * | | -1 | | | -1 |
- * ^ a v z b ^ ^ a v z b ^
- * | 21 | 21| | 22 | 22|
- * o---<---o--->---o o---<---o--->---o
- *
- *
- ************************************************************
- *
- * CYCLES | EXECUTION TIME | PROGRAM MEMORY | DATA MEMORY
- * | (MICROSECONDS) | (WORDS) | (WORDS)
- * -------|----------------|----------------|-------------
- * | | |
- * 27 | 5.4 | 27 | 18
- * | | |
- * -------------------------------------------------------
- *
- * (EXCLUDING I/O AND INITIALIZATION)
- *
- ************************************************************
- *
- IDT 'IIR4CAS'
- D2N EQU 0
- D2NM1 EQU 1
- D2NM2 EQU 2
- *
- D1N EQU 3
- D1NM1 EQU 4
- D1NM2 EQU 5
- *
- B01 EQU 6
- B11 EQU 7
- B21 EQU 8
- *
- A11 EQU 9
- A21 EQU 10
- *
- B02 EQU 11
- B12 EQU 12
- B22 EQU 13
- *
- A12 EQU 14
- A22 EQU 15
- *
- MODE EQU 16
- CLOCK EQU 17
- YN EQU 18
- XN EQU 19
- ONE EQU 20
- *
- AORG 0
- *
- B START
- *
- * COEFFICIENTS ARE INITIALLY *
- * STORED IN PROGRAM MEMORY *
- *
- CB01 DATA >1F05 * 0.242342 *
- CB11 DATA >2B75 * 0.339521 *
- CB21 DATA >1EFD * 0.242117 *
- *
- CA11 DATA >394D * 0.447687 *
- CA21 DATA >D889 * -0.308310 *
- *
- CB02 DATA >62F1 * 0.772990 *
- CB12 DATA >26DB * 0.303581 *
- CB22 DATA >62ED * 0.772887 *
- *
- CA12 DATA >FEF7 * -0.008080 *
- CA22 DATA >90EE * -0.867723 *
- *
- MD DATA >000A
- SMP DATA 499 * SAMPLING RATE OF 10 KHZ *
- *
- START LDPK 0
- *
- LACK 1
- SACL ONE * CONTENT OF ONE IS 1 *
- *
- LARK AR0,CLOCK * THIS SECTION OF CODE LOADS *
- LARK AR1,11 * THE FILTER COEFFICIENTS AND *
- LACK SMP * OTHER VALUES FROM PROGRAM *
- LOAD LARP AR0 * MEMORY TO DATA MEMORY *
- TBLR *-,AR1
- SUB ONE
- BANZ LOAD
- *
- ZAC * THIS SECTION SETS THE *
- SACL D2N * INITIAL STATE OF THE *
- SACL D2NM1 * FILTER TO ZERO *
- SACL D2NM2
- SACL D1N
- SACL D1NM1
- SACL D1NM2
- *
- OUT MODE,PA0 * INITIALIZATION OF ANALOG *
- OUT CLOCK,PA1 * INTERFACE BOARD *
- *
- WAIT BIOZ NXTPT * BIO PIN GOES LOW WHEN A *
- B WAIT * NEW SAMPLE IS AVAILABLE *
- *
- NXTPT IN XN,PA2 * BRING IN THE NEW SAMPLE XN *
- *
- LAC XN,15 * START FIRST CASCADE SECTION *
- *
- LT D1NM1
- MPY A11 * d (n-1) * a *
- * 1 11
- LTA D1NM2
- MPY A21
- *
- APAC
- *
- SACH D1N,1
- *
- ZAC
- *
- MPY B21
- *
- LTD D1NM1
- MPY B11
- *
- LTD D1N
- MPY B01 * FINISHED FIRST CASCADE SECTION *
- *
- * * START SECOND CASCADE SECTION *
- *
- LTA D2NM1
- MPY A12 * d (n-1) * a *
- * 2 12
- LTA D2NM2
- MPY A22
- *
- APAC
- *
- SACH D2N,1
- *
- ZAC
- *
- MPY B22
- *
- LTD D2NM1
- MPY B12
- *
- LTD D2N
- MPY B02
- *
- APAC
- *
- SACH YN,1 * FINISHED SECOND CASCADE SECTION *
- * * AND FILTER *
- *
- OUT YN,PA2 * OUTPUT THE FILTER RESPONSE y(n) *
- *
- B WAIT * GO GET THE NEXT POINT *
- *
- END